/* 
    加载模板
*/

let mysql = require("mysql"); //需要手动下载，npm i mysql -D 如果不确定是否存在此模块，可以引入之后打印

// console.log(mysql);

/* 
    创建数据库的连接
*/

let con = mysql.createConnection({
    // 数据库的设置
    host: "localhost", //服务器地址  如果是远程数据库则写入远程地址
    user: "root", //用户名一般是root，如果有改名情况写入更改过后的值
    password: "root", //密码，写入你自己的密码
    port: "3306", //数据库端口默认为3306
    database: "test", //需要连接的数据库的名字
});

con.connect(function(err) {
    if (err) {
        console.log("连接失败!");
        return;
    }

    console.log("    数据库连接成功");
});
// let params = [data.user_name,data.user_pass];
// 登录验证
exports.loginCheck = function(data, fun) {
    let sql = "select * from users where user_name=? and user_pass = ?";
    let params = [data.user_name, data.user_pass];
    // console.log(params[0])
    con.query(sql, params, (err, data) => {
        // console.log(data.length)
        fun(data);
    });
};

// 发布话题
exports.publish = function(sql, fun) {
    con.query(sql, (err, data) => {
        // console.log(data)
        fun(true);
    });
};

//获取个人信息
exports.getUserMsg = function(id, fun) {
    let sql = `select * from users where uid=${id}`;
    con.query(sql, (err, data) => {
        // console.log(data)
        if (err) {
            throw err;
        } else {
            fun(JSON.parse(JSON.stringify(data))[0]);
        }
    });
};

// 修改个人信息
exports.updateMsg = function(sql, fun) {
    con.query(sql, (err, data) => {
        // console.log(data)
        if (err) {
            throw err;
        } else {
            fun(true);
        }
    });
};

// 判断邮箱是否已经注册
exports.email = function(data, fun) {
    let sql = "select * from users where email = ?"; // 判断邮箱是否已经注册
    con.query(sql, data.email, (err, data) => {
        // console.log(data.length)
        fun(data);
    });
};

exports.registered = function(data, fun) {
    // console.log(data.user_name)
    let sql = "insert into users(user_name,user_pass,email) values(?,?,?)";
    let params = [data.user_name, data.user_pass, data.email];
    con.query(sql, params);
};

// 每一分钟执行sql命令一次，防止数据库连接关闭
let timer = setInterval(function() {
    let sqlr = "select * from users";
    con.query(sqlr, function() {});
}, 100000);